# SPDX-License-Identifier: GPL-2.0-only
# 64-bit ARM SoCs from TI
if ARM64

if ARCH_K3

config ARCH_K3_AM6_SOC
	bool "K3 AM6 SoC"
	help
	  Enable support for TI's AM6 SoC Family support

config ARCH_K3_J721E_SOC
	bool "K3 J721E SoC"
	help
	  Enable support for TI's J721E SoC Family support

endif

endif

#
# TI SOC drivers
#
menuconfig SOC_TI
	bool "TI SOC drivers support"

if SOC_TI

config KEYSTONE_NAVIGATOR_QMSS
	tristate "Keystone Queue Manager Sub System"
	depends on ARCH_KEYSTONE
	help
	  Say y here to support the Keystone multicore Navigator Queue
	  Manager support. The Queue Manager is a hardware module that
	  is responsible for accelerating management of the packet queues.
	  Packets are queued/de-queued by writing/reading descriptor address
	  to a particular memory mapped location in the Queue Manager module.

	  If unsure, say N.

config KEYSTONE_NAVIGATOR_DMA
	tristate "TI Keystone Navigator Packet DMA support"
	depends on ARCH_KEYSTONE
	help
	  Say y tp enable support for the Keystone Navigator Packet DMA on
	  on Keystone family of devices. It sets up the dma channels for the
	  Queue Manager Sub System.

	  If unsure, say N.

config AMX3_PM
	tristate "AMx3 Power Management"
	depends on SOC_AM33XX || SOC_AM43XX
	depends on WKUP_M3_IPC && TI_EMIF_SRAM && SRAM && RTC_DRV_OMAP
	help
	  Enable power management on AM335x and AM437x. Required for suspend to mem
	  and standby states on both AM335x and AM437x platforms and for deeper cpuidle
	  c-states on AM335x. Also required for rtc and ddr in self-refresh low
	  power mode on AM437x platforms.

config WKUP_M3_IPC
	tristate "TI AMx3 Wkup-M3 IPC Driver"
	depends on WKUP_M3_RPROC
	depends on OMAP2PLUS_MBOX
	help
	  TI AM33XX and AM43XX have a Cortex M3, the Wakeup M3, to handle
	  low power transitions. This IPC driver provides the necessary API
	  to communicate and use the Wakeup M3 for PM features like suspend
	  resume and boots it using wkup_m3_rproc driver.

config TI_SCI_PM_DOMAINS
	tristate "TI SCI PM Domains Driver"
	depends on TI_SCI_PROTOCOL
	depends on PM_GENERIC_DOMAINS
	help
	  Generic power domain implementation for TI device implementing
	  the TI SCI protocol.

	  To compile this as a module, choose M here. The module will be
	  called ti_sci_pm_domains. Note this is needed early in boot before
	  rootfs may be available.

config TI_K3_RINGACC
	bool "K3 Ring accelerator Sub System"
	depends on ARCH_K3 || COMPILE_TEST
	depends on TI_SCI_INTA_IRQCHIP
	help
	  Say y here to support the K3 Ring accelerator module.
	  The Ring Accelerator (RINGACC or RA)  provides hardware acceleration
	  to enable straightforward passing of work between a producer
	  and a consumer. There is one RINGACC module per NAVSS on TI AM65x SoCs
	  If unsure, say N.

config TI_K3_SOCINFO
	bool
	depends on ARCH_K3 || COMPILE_TEST
	select SOC_BUS
	select MFD_SYSCON
	help
	  Include support for the SoC bus socinfo for the TI K3 Multicore SoC
	  platforms to provide information about the SoC family and
	  variant to user space.

endif # SOC_TI

config TI_SCI_INTA_MSI_DOMAIN
	bool
	select GENERIC_MSI_IRQ_DOMAIN
	help
	  Driver to enable Interrupt Aggregator specific MSI Domain.
